#ifndef NODE_H
#define NODE_H

#include<string.h>
#include<vector>
#include<string>

using namespace std;

#define VALUE_PROGRAM_START 1
#define VALUE_FUN  2
#define VALUE_IF    3
#define VALUE_ELSE  4

#define VALUE_VAR_DEF 10
#define VALUE_FUN_DEF 11

#define VALUE_EXP 30

class Node {
    public:
	static int ID;
    int id;
    int value;
	int token;
	int depth;
	vector<int>	token_args;
	vector<string> name_args;
    Node* rightpointer;
    Node* leftpointer;
	
	void add_arg(int token_arg, char * c);
	void add_arg(int token_arg, string s);


	static Node* createNode();
};

#endif // NODE_H
